const express = require("express");
const fs = require("fs");
const path = require("path");
const app = express();
app.listen(3000, () => console.log("ok"));

// 使用第三方插件，解决跨域问题
const cors = require("cors");
app.use(cors());

// 自定义中间件
// 写一个中间件，统一设置响应头，解决跨域问题
// app.use((req, res, next) => {
//     res.set("Access-Control-Allow-Origin", "*");
//     next();
// });
app.get("/api/getbooks", (req, res) => {
    fs.readFile(path.join(__dirname, "book.json"), (err, data) => {
        if (err) return console.log(err);
        res.send({
            //send()后不能再设置其他操作，类似end
            status: 200,
            message: "获取图书成功",
            data: JSON.parse(data),
        });
    });
});
// 使用express提供的方法，接收 查询字符串形式的请求体
app.use(express.urlencoded({ extended: false }));
// app.use((req, res, next) => {
//     if (req.method === "POST") {
//         let str = "";
//         req.on("data", (chunk) => (str += chunk));
//         req.on("end", () => {
//             let querystring = require("querystring");
//             req.body = querystring.parse(str);
//             next();
//         });
//     } else {
//         next();
//     }
// });
app.post("/api/addbook", (req, res) => {
    console.log(req.body);
});
app.get("/api/delbook", (req, res) => {
    // req.query 用于获取请求参数
    console.log(req.query); //{ id: '123' }
});

app.get("/api/my/delbook/:id/:age/:name", (req, res) => {
    console.log(req.params); //{ id: '2', age: '20', name: 'zhangsan' }
    // 传的参数必须要一一对应上，否则都会报错
});